<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="gestores.GestorUsuario"%>
<%@page import="domain.Usuario"%>
<%@page import="java.util.List"%>
<%@page import="domain.Orden"%>
<%@page import="domain.Accion"%>
<%@page import="java.util.LinkedList"%>
<%@page import="gestores.GestorOrden"%>
<%@page import="gestores.GestorAccion"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Vender Accion</title>
</head>
<body>

<jsp:include page="../control/sessionRegistrado.jsp"/>
<%

Object onombre = request.getParameter("nombre");
Object ovalor =request.getParameter("valorv");
Object ocantidad = request.getParameter("cantidadv");

if(onombre ==null || ovalor ==null || ocantidad == null){
			response.sendRedirect("../FrontController?res=control/content.jsp");
	}
	String nombre = request.getParameter("nombre");
	Double valor = new Double(request.getParameter("valorv"));
	Integer cantidad = new Integer(request.getParameter("cantidadv"));
	GestorUsuario gu = new GestorUsuario();
	Usuario usuario = gu.selectUsuarioByLogin((String) session
			.getAttribute("session.user"));
	GestorAccion ga = new GestorAccion();
	List<Orden> relacionadas = accionesRelacionadas(usuario, nombre);

	if (relacionadas.isEmpty()) {
		session.setAttribute("error.accion.compra",
				"No tienes las acciones necesarias");
	
		out.println("No tienes las acciones necesarias para realizar la operacion");
		response.sendRedirect("../FrontController?res=accion/acciones.jsp?nombre="+nombre);
		
	} else {
		Integer numero = calcularNumero(relacionadas);

		if (cantidad > numero) {
			session.setAttribute("error.accion.compra",
					"No tienes las acciones necesarias");
			out.println("No tienes las acciones necesarias para realizar la operacion");
			response.sendRedirect("../FrontController?res=accion/acciones.jsp?nombre="+nombre);
			
		} else {

			ga.vender(usuario,nombre,valor,cantidad);
			response.sendRedirect("../FrontController?res=control/content.jsp");
			

		}

	}
%>


<%!
	public List<Orden> accionesRelacionadas(Usuario usuario, String nombre) {
		List<Orden> valores = new LinkedList<Orden>();

		for (Orden c : usuario.getCartera()) {
			Accion a = c.getAccion();
			if (a.getNombre().equalsIgnoreCase(nombre)) {
				valores.add(c);
			}
		}
		return valores;
	}

	public Integer calcularNumero(List<Orden> relacionadas) {
		Integer numero = 0;
		for (Orden aux : relacionadas) {
			numero += aux.getNumero();
		}
		return numero;
	}%>


</body>
</html>